package com.translate.web.config;
//package com.fingerstar.manager.config;
//
//import java.io.IOException;
//import java.util.ArrayList;
//import java.util.HashMap;
//import java.util.Map;
//
//import com.fasterxml.jackson.core.JsonGenerator;
//import com.fasterxml.jackson.databind.JsonSerializer;
//import com.fasterxml.jackson.databind.ObjectMapper;
//import com.fasterxml.jackson.databind.SerializerProvider;
//
///**
// * Mybatis分页插件序列化器
// */
//@SuppressWarnings("rawtypes")
//public class PageJsonSerializer extends JsonSerializer<Page> {
//
//	/**
//	 * JSON Mapper
//	 */
//	private final ObjectMapper mapper;
//
//	/**
//	 * 构造器
//	 *
//	 * @param mapper JSON Mapper
//	 */
//	public PageJsonSerializer(ObjectMapper mapper) {
//		this.mapper = mapper;
//	}
//
//	/**
//	 * @param value    值
//	 * @param gen      生成器
//	 * @param provider 序列化提供者
//	 * @throws IOException IO异常
//	 */
//	@SuppressWarnings("unchecked")
//	@Override
//	public void serialize(Page value, JsonGenerator gen, SerializerProvider provider) throws IOException {
//		Map<String, Object> map = new HashMap<>();
//		PageInfo pageInfo = new PageInfo(value);
//		map.put("pageNum", pageInfo.getPageNum());
//		map.put("pageSize", pageInfo.getPageSize());
//		map.put("size", pageInfo.getSize());
//		map.put("startRow", pageInfo.getStartRow());
//		map.put("endRow", pageInfo.getEndRow());
//		map.put("total", pageInfo.getTotal());
//		map.put("pages", pageInfo.getPages());
//		map.put("prePage", pageInfo.getPrePage());
//		map.put("nextPage", pageInfo.getNextPage());
//		map.put("isFirstPage", pageInfo.isIsFirstPage());
//		map.put("isLastPage", pageInfo.isIsLastPage());
//		map.put("hasPreviousPage", pageInfo.isHasPreviousPage());
//		map.put("hasNextPage", pageInfo.isHasNextPage());
//		map.put("navigatePages", pageInfo.getNavigatePages());
//		map.put("navigatepageNums", pageInfo.getNavigatepageNums());
//		map.put("navigateFirstPage", pageInfo.getNavigateFirstPage());
//		map.put("navigateLastPage", pageInfo.getNavigateLastPage());
//		map.put("comments", new ArrayList(value));
//		mapper.writeValue(gen, map);
//	}
//
//}